package cn.topevery.garden.entity.po;

import cn.topevery.garden.framework.base.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import hw.topevery.framework.annotation.DbTable;
import hw.topevery.framework.annotation.DbTableField;
import hw.topevery.framework.dto.PointDto;
import hw.topevery.framework.enums.DbTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.locationtech.jts.geom.Geometry;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 
 *
 * @author code-generate
 * @date 2021-08-26
 */
@Data
@DbTable(tableName = "t_botany")
public class Botany extends BaseEntity {
        /**
     * 标识
     */
    @DbTableField(columnName = "c_flag", dbType = DbTypeEnum.INTEGER)
    public Integer flag ;

    /**
     * 编码
     */
    @DbTableField(columnName = "c_code", dbType = DbTypeEnum.VARCHAR)
    public String code ;

    /**
     * 中文名称
     */
    @DbTableField(columnName = "c_name", dbType = DbTypeEnum.VARCHAR)
    public String name ;

    /**
     * 拉丁名称
     */
    @DbTableField(columnName = "c_latin_name", dbType = DbTypeEnum.VARCHAR)
    public String latinName ;

    /**
     * 区域
     */
    @DbTableField(columnName = "c_area", dbType = DbTypeEnum.VARCHAR)
    public String area ;

    /**
     * 街道
     */
    @DbTableField(columnName = "c_street", dbType = DbTypeEnum.VARCHAR)
    public String street ;

    /**
     * 社区
     */
    @DbTableField(columnName = "c_community", dbType = DbTypeEnum.VARCHAR)
    public String community ;

    /**
     * 分布区域
     */
    @DbTableField(columnName = "c_distribution_area", dbType = DbTypeEnum.VARCHAR)
    public String distributionArea ;

    /**
     * 总棵树
     */
    @DbTableField(columnName = "c_total", dbType = DbTypeEnum.VARCHAR)
    public String total ;

    /**
     * 种植面积
     */
    @DbTableField(columnName = "c_measure", dbType = DbTypeEnum.VARCHAR)
    public String measure ;

    /**
     * 科
     */
    @DbTableField(columnName = "c_section", dbType = DbTypeEnum.VARCHAR)
    public String section ;

    /**
     * 属
     */
    @DbTableField(columnName = "c_genus", dbType = DbTypeEnum.VARCHAR)
    public String genus ;

    /**
     * 树高
     */
    @DbTableField(columnName = "c_hight", dbType = DbTypeEnum.VARCHAR)
    public String hight ;

    /**
     * 树宽
     */
    @DbTableField(columnName = "c_weight", dbType = DbTypeEnum.VARCHAR)
    public String weight ;

    /**
     * 胸径
     */
    @DbTableField(columnName = "c_diameter", dbType = DbTypeEnum.VARCHAR)
    public String diameter ;

    /**
     * 普查开始时间
     */
    @DbTableField(columnName = "c_search_start_time")
    @JsonFormat(shape = JsonFormat.Shape.STRING, timezone = "GMT+8", pattern = "yyyy-MM-dd")
    public LocalDateTime searchStartTime ;

    /**
     * 说明
     */
    @DbTableField(columnName = "c_remark", dbType = DbTypeEnum.VARCHAR)
    public String remark ;

    /**
     * 普查结束时间
     */
    @DbTableField(columnName = "c_search_end_time")
    @JsonFormat(shape = JsonFormat.Shape.STRING, timezone = "GMT+8", pattern = "yyyy-MM-dd")
    public LocalDateTime searchEndTime ;

    /**
     * 范围
     */
    @DbTableField(columnName = "c_geom_bd09", dbType = DbTypeEnum.OTHER)
    public Geometry geomBd09 ;

    @ApiModelProperty(value = "范围点信息")
    public List<List<PointDto>> mapRangesPoints;

    @ApiModelProperty(value = "文件")
    public List<BotanyFile> fileList;
}
